package cn.android.common.utils;

/**系统工具*/
public class SystemUtils {
	private static final int DEFAULT_SIZE = 8;
	public static final int DEFAULT_THREAD_POOL_SIZE = getDefaultThreadPoolSize();
	
	private SystemUtils() {
		throw new AssertionError();
	}
	
	/**
	 * 获取系统目前推荐的默认线程池的大小
	 * @return
	 */
	public static int getDefaultThreadPoolSize() {
		return getDefaultThreadPoolSize(DEFAULT_SIZE);
	}
	
	/**
	 * 获取系统目前推荐的默认线程池的大小
	 * @param max
	 * @return
	 */
	public static int getDefaultThreadPoolSize(int max) {
		int availableProcessors = 2 * Runtime.getRuntime().availableProcessors() + 1;
		return availableProcessors > max ? max : availableProcessors;
	}

}
